/*
 * Copyright (C) 2016 Feiniao2000
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at 
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
package com.yuanmei.stockeyes.data;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import com.yuanmei.stockeyes.R;

public class StockInfoOpenHelper extends SQLiteOpenHelper {
    private static String DATABASE_NAME = "stock_info_v2.db";
    private static String LOG_TAG = "StockInfoOpenHelper";
    

    //private final Context context;
    //private boolean databaseNeedsToBeCreated;
 
    
    public StockInfoOpenHelper(Context context) {        
        super(context, DATABASE_NAME, null, context.getResources().getInteger(R.integer.databaseVersion));
        //this.context = context;
    }
    
    @Override
    public void onCreate(SQLiteDatabase db) {
        //this.databaseNeedsToBeCreated = true;
    }
    
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
    }

    public static void ChkIfNeedCopyDbFile(Context context){
        String db_directory =  context.getFilesDir().getAbsolutePath().replace("/files", "/databases");
        String db_path = db_directory + "/" + DATABASE_NAME;
        File db_file = new File(db_path);  
        if (!db_file.getParentFile().exists()) {
            db_file.getParentFile().mkdirs();
        }
        if (!db_file.exists()) {
            try {
                InputStream inputStream = context.getAssets().open(DATABASE_NAME);
                OutputStream outputStream = new FileOutputStream(db_path);

                byte[] buffer = new byte[1024];
                int length;
                while ((length = inputStream.read(buffer)) > 0) {
                   outputStream.write(buffer, 0, length);
                }

                outputStream.flush();
                outputStream.close();
                inputStream.close();
            }
            catch (IOException e) {
                e.printStackTrace();
                Log.e(LOG_TAG, "create copy the database error");
            }
            Log.i(LOG_TAG, "create copy the database");
        }
    }
 


}
